using Eno.Domain.Entity.App;

namespace Eno.Domain.Repositories;

public interface IUserRepository<T>
{
    Task<IEnumerable<T>> GetUserAllAsync();

    Task<AppUser?> GetUserByIdAsync(Guid guid);

    // 登录注册
    Task<T?> GetUserByAccount(string account);

    Task<int> AdditionUserAsync(T entity);

    Task<int> DeleteUserAsync(Guid guid);

    Task<int> UpdateUserAsync(T entity);

    // 新增：获取用户角色列表
    Task<List<string>> GetUserRolesAsync(Guid userId);
}